home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / talinasm.lha / rectoverlap.asm < prev    next >
Encoding:
Assembly Source File  |  1992-03-19  |  885 b   |  41 lines

  1. * ============================================================================ *
  2. *    RectOverlap: Determine if two IBoxes overlap
  3. *
  4. *    BOOL RectOverlap(struct IBox *a, struct IBox *b);
  5. *                    a0              a1
  6. * ============================================================================ *
  7.  
  8.             include        'intuition/intuition.i'
  9.  
  10.             SECTION        rectoverlap.asm,CODE
  11.  
  12.             xdef        _RectOverlap
  13. _RectOverlap
  14.             move.w        ibox_Left(a0),d0
  15.             add.w        ibox_Width(a0),d0
  16.             cmp.w        ibox_Left(a1),d0
  17.             ble.s        seperate
  18.  
  19.             move.w        ibox_Left(a1),d0
  20.             add.w        ibox_Width(a1),d0
  21.             cmp.w        ibox_Left(a0),d0
  22.             ble.s        seperate
  23.  
  24.             move.w        ibox_Top(a0),d0
  25.             add.w        ibox_Height(a0),d0
  26.             cmp.w        ibox_Top(a1),d0
  27.             ble.s        seperate
  28.  
  29.             move.w        ibox_Top(a1),d0
  30.             add.w        ibox_Height(a1),d0
  31.             cmp.w        ibox_Top(a0),d0
  32.             ble.s        seperate
  33.  
  34.             moveq        #1,d0
  35.             rts
  36.             
  37. seperate:    moveq        #0,d0
  38.             rts
  39.  
  40.             end
  41.